import axios from 'axios'

// 创建axios实例
const api = axios.create({
    baseURL: import.meta.env.DEV ? '/api' : '',
    timeout: 10000,
    headers: {
        'Content-Type': 'application/json'
    }
})

// 请求拦截器 - 添加用户名参数
api.interceptors.request.use(
    config => {
        // 从localStorage获取登录信息
        const loginData = JSON.parse(localStorage.getItem('loginData') || '{}')
        if (loginData.username) {
            // 为GET请求添加username参数
            if (config.params) {
                config.params.username = loginData.username
            } else if (config.method === 'get') {
                config.params = {username: loginData.username}
            }

            // 为POST/PUT/DELETE请求在data中添加username
            if (config.data && typeof config.data === 'object') {
                config.data.username = loginData.username
            }
        }
        return config
    },
    error => {
        return Promise.reject(error)
    }
)

// 响应拦截器
api.interceptors.response.use(
    response => {
        return response.data
    },
    error => {
        console.error('API请求错误:', error)
        return Promise.reject(error)
    }
)

// 历史数据API
export const historyDataApi = {
    // 获取统计信息
    getStats() {
        return api.get('/历史数据/统计')
    },

    // 获取历史数据列表
    getData(params = {}) {
        return api.get('/历史数据/查询', {params})
    },

    // 删除单个项目
    deleteItem(documentNumber, pushTime) {
        return api.delete(`/历史数据/删除/${documentNumber}`, {
            params: {push_time: pushTime}
        })
    },

    // 批量删除
    batchDelete(items) {
        return api.post('/历史数据/批量删除', {items})
    }
}

export default api